import typescript from '@rollup/plugin-typescript';

export default {
    input: 'lib/index.ts',
    output: {
        file: 'types/index.js',
        format: 'es',
        banner: '// 全局类型声明库，无实际代码'
    },
    plugins: [
        typescript({
            tsconfig: './tsconfig.json',
            // 仅生成类型声明文件
            declaration: true,
            // 不生成 `JS` 代码
            emitDeclarationOnly: true,
            // 类型声明文件输出目录
            declarationDir: 'types',
            compilerOptions: {
                // 类型声明库通常使用 `ESNext` 模块
                module: 'ESNext',
                // 目标可以设为 `ES5` 以兼容更多环境
                target: 'ES5',
                // 关闭源映射，类型声明库通常不需要
                sourceMap: false,
                // 严格模式确保类型定义的准确性
                strict: true,

                declarationDir: 'types',
                typeRoots: ['./types']
            },
            include: ['lib/**/*'],
            exclude: ['node_modules/**', 'test/**']
        })
    ]
}
